<?php

error_reporting(E_ALL);
class Conexao {
	/**
	 * Constante responsável por armazenar o servidor do banco
	 *
	 */
	const DB_HOST='177.11.54.5';

	/**
	 * Constante responsável por armazenar o nome do banco
	 *
	 */

	const DB_NOME='wikeecom_erp';

	/**
	 * Constante responsável por armazenar o nome do usu�rio do banco
	 *
	 */

	const DB_USER='wikeecom_erp';

	/**
	 * Constante responsável por armazenar a senha do banco
	 *
	 */
	const DB_PASS='25089g';


    /**
     * Método construtor, executado "automaticamente" quando iniciada classe
     */
    function __construct()
    {

    }

    /**
     * Método responsável por conectar no banco
     */
    public function Conecta(){

    	//lembrando que self referencia a pr�pria classe no nosso caso
    	//estamos chamando uma constante que est� definida nesta classe
    	//ent�o conectar ao banco

    	$con = mysql_connect(self::DB_HOST,self::DB_USER,self::DB_PASS);

    	//verifica se a conexão foi feita, caso não, nos utilizamos o
    	//throw new Exception para armazernar nossa mensagem de erro
    	//quer será exibida posteriormente em nossa classe, de
    	//minpulação
    	if($con === false){
            throw new Exception('A conexão com o banco não pode ser estabelecida');
        }

    	//Vamos selecionar o banco de dados
    	$db = mysql_select_db(self::DB_NOME);
    	if($db === false){
	    	throw new Exception('Erro ao selecionar a base de dados');
    	}
    }

    /**
     * Método reponsável por executar as nossas query's
     */
    public function execQuery($qry){
    	//Então ele tenta conectar ao banco chamando nosso método de conectar
            try {
                self::Conecta();
            }

        //caso ele não conecte, então irá nos retornar o erro que indicamos
        //lá no método de conexão
    	catch (Exception $e){
    		die($e->getMessage());
    	}

    	//se tudo ocorreu bem ele executa a query
    	$this->exec = mysql_query($qry);

    	//caso ocorra algum erro ao executar a query
    	//ent�o armazenamos este erro para exibir, quando executarmos
    	//este método, isso será feito em nossa classe de manipula��o
    	if($this->exec === false){
    		throw new Exception('Erro ao executar a query');
    	} else {
    		return $this->exec;
    	}
    }
}
?>
